package hxg.tcptest;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * @author HeXiangGuang
 * @create 2021-06-29 21:50
 * 基于TCP协议的服务器端开发
 * 1创建ServerSocket并指定端口号
 * 2调用accept(),接收客户端请求
 * 3获取输入流，读取客户端发送的数据
 * 4获取输出流,发送数据给客户端
 * 5关闭释放资源
 */
public class TcpServer {
    public static void main(String[] args) throws Exception{


//                * 1创建ServerSocket并指定端口号
        ServerSocket listener = new ServerSocket(8899);
//                * 2调用accept(),接收客户端请求,阻塞方法（如果没有客户端请求则阻塞）
        Socket socket = listener.accept();
//                * 3获取输入流，读取客户端发送的数据
        InputStream is = socket.getInputStream();
        BufferedReader br = new BufferedReader(new InputStreamReader(is,"utf-8"));
        String data = br.readLine();
        System.out.println("客户发送："+data);
//                * 4获取输出流,发送数据给客户端【可选】
//                * 5关闭释放资源
        br.close();
        is.close();
        listener.close();
    }

}
